import { http } from "@/utils/http";

/**
 * 数据信息
 */
export interface cartItem {
  /**
   * 属性文字，例如“颜色:瓷白色 尺寸：8寸”
   */
  attrsText: string;
  /**
   * 数量
   */
  count: number;
  /**
   * 折扣信息
   */
  discount: number;
  /**
   * SPUID
   */
  id: string;
  /**
   * 是否收藏
   */
  isCollect: boolean;
  /**
   * 是否为有效商品
   */
  isEffective: boolean;
  /**
   * 商品名称
   */
  name: string;
  /**
   * 当前的价格
   */
  nowPrice: number;
  /**
   * 图片
   */
  picture: string;
  /**
   * 加入时价格
   */
  price: number;
  /**
   * 是否选中
   */
  selected: boolean;
  /**
   * SKUID
   */
  skuId: string;
  /**
   * 库存
   */
  stock: number;
}
/**
 * 获取购物车列表
 * @returns cartItem[]
 */
export function getCartList() {
  return http<cartItem[]>({
    url: '/member/cart',
    method: 'GET',
  })
}

/**
 * 删除购物车列表项
 * @param ids 
 * @returns 
 */
export function deletCart(ids: string[]) {
  return http({
    url: '/member/cart',
    method: 'DELETE',
    data: { ids }
  })
}
export interface changeCartCountData {
  /**
   * 商品数量 - 可选参数
   */
  count?: number;
  /**
   * 选中状态 - 可选参数
   */
  selected?: boolean;
}
/**
 * 修改购物车单品
 * @param skuId 
 * @param data 请求参数
 * @returns 
 */
export function changeCart(skuId: string, data: changeCartCountData) {
  return http<cartItem>({
    url: `/member/cart/${skuId}`,
    method: 'PUT',
    data
  })
}


export function changeAllSelectes(data: { selected: boolean }) {
  return http({
    url: '/member/cart/selected',
    method: 'PUT',
    data
  })
}